
using Qdb.Internal;
using Qdb.Internal.Activation;
using Qdb.Marshall;
using Qdb.Typehandlers;

namespace Qdb.Typehandlers
{
	public interface IActivationContext : IContext
	{
		void CascadeActivationToTarget();

		void CascadeActivationToChild(object obj);

		ObjectContainerBase Container();

		object TargetObject();

		Qdb.Internal.ClassMetadata ClassMetadata();

		IActivationDepth Depth();

		IActivationContext ForObject(object newTargetObject);

		IActivationContext Descend();
	}
}
